Lecture 4 - TCP IP Model

مقدمه

  • ا TCP/IP (Transmission Control Protocol/Internet Protocol) هو suite of protocols (مجموعة بروتوكولات) اتعملت في بداية السبعينات من DARPA (وكالة مشاريع الأبحاث المتطورة التابعة لوزارة الدفاع الأمريكية).
  • معروف كمان باسم Internet Protocol Suite.
  • ا TCP/IP أقدم من OSI Model — ا OSI جه سنة 1984، لكن TCP/IP كان موجود من قبله.
  • ا OSI Model هو reference model, لكن TCP/IP هو الـ protocol suite اللي فعليًا بيشتغل عليه الإنترنت والـ intranets.
  • ا TCP/IP مش tied to a vendor — ده open standard protocol وده سبب انتشاره.
  • ا TCP/IP v4 هو المستخدم دلوقتي، والـ Next version هو v6.
  • ا النموذج الأصلي كان 4 layers مبنيين على الـ hardware.


Application Layer (Layer 4)

Note

  • الفرق بين OSI و TCP/IP إن OSI بيكسر الطبقة دي لـ 3 طبقات: Application, Presentation, Session.
  • ا TCP/IP ضمهم كلهم في طبقة واحدة عشان التطبيق العملي.


Transport Layer (Layer 3)

ا TCP (Transmission Control Protocol)
ا UDP (User Datagram Protocol)

Internet Layer (Layer 2)


Network Access Layer (Layer 1)

Note

  • ا OSI model بيكسر الطبقة دي لـ 2: Data Link Layer و Physical Layer.
  • التقسيم ده بيدي مرونة أكتر للمطورين لأنه بيفصل الـ organizing functions عن الـ accessing functions.


الفرق بين TCP و IP

ا TCP ا IP
بيدير ازاي الرسالة بتتقطع وتتجمّع طبقة 3 في TCP/IP model
بيعمل connection قبل ما يبعت مسؤول عن الـ data communications عبر الشبكات
بيتحكم في حجم ومعدل الـ packets بيحدد وجهة البيانات والـ routes
بيستخدم IP عشان ينقل الـ packets الـ packets محتاجة تت reorganized بعد الإرسال
بيقدر يوصل devices و apps بيضمنش التوصيل

Three-Way Handshake (TCP Connection)

قبل ما client يبدأ يتكلم مع server في TCP، لازم الاتنين يأسسوا connection عن طريق الـ Three-way handshake:

  1. ا Client ← Server (SYN):

    • ا Client بيبعت SYN packet بـ sequence number عشوائي (خلينا نقول 4321).
    • ده بداية طلب الاتصال.
  2. ا Server ← Client (SYN-ACK):

    • ا Server بيرد بـ SYN = 5501 (الـ sequence number بتاعه).
    • و ACK = 4322 (seq بتاع الـ Client + 1).
    • بيأكد إنه استلم طلب الاتصال.
  3. ا Client ← Server (ACK):

    • ا Client بيبعت ACK = 5502 (seq بتاع الـ Server + 1).
    • كده الاتصال اشتغل رسميًا.

Data Packages (Package Names)

البيانات بتاخد أسماء مختلفة في كل layer :

ا Layer ا Package Name
ا Application Layer Message
ا Transport Layer (TCP) Segment
ا Transport Layer (UDP) Datagram
ا Internet Layer Datagram / Packet
ا Network Access Layer Frame (وبعدين Bit Stream)

Encapsulation — ازاي البيانات بتتنقل

لما Device A يبعت بيانات لـ Device B:

عكسياً في الاستقبال — كل layer بتشيل header بتاعها وتعدي البيانات للي فوقها.

Tip

  • الموضوع زي الـ Russian nesting dolls (الدُمى الروسية) — كل طبقة بتغلف اللي جوة وتضيف حاجة، وفي الاستقبال بيتفكوا واحد واحد.


OSI Model vs TCP/IP Model

ا OSI Model (7 Layers) ا TCP/IP Model (4 Layers)
Application Application (دمج Session + Presentation + Application)
Presentation
Session
Transport Transport
Network Internet
Data Link Network Access (دمج Physical + Data Link)
Physical

بروتوكولات TCP/IP

1. ا TCP/IP


2. ا HTTP


3. ا HTTPS


4. ا SMTP


5. ا POP3


6. ا IMAP

الفرق بين SMTP vs POP3 vs IMAP

ا SMTP ا POP3 ا IMAP
لإرسال الإيميلات (outgoing) لاستقبال وتحميلها على الجهاز لاستقبال وإدارتها على الـ server
بينقل من sender's mail server لـ receiver's الإيميلات بتتشال من الـ server بعد التحميل الإيميلات بتفضل على الـ server
مش بيستخدم للاستقبال مناسب لجهاز واحد بيدعم أجهزة متعددة مع synchronization
بيدعم MIME extensions Ports: 110 / 995 (secure) أكتر مرونة و folders على الـ server


7. ا FTP


8. ا SFTP


9. ا SSH


10. ا TELNET


11. ا ICMP


12. ا IPv4


13. ا IPv6


14. ا PPP


15. ا Gopher


16. ا UDP


Nour Eldeen Mahmoud


Powered by Forestry.md